import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

public class ballPow extends Ball
{
    public int color = 4;
    boolean band=true;
    World mun;
    mundo w;
    int sprite=0,cont=0;
    
    public void act() 
    {
       Actor b;
       explosion exp,exp2;
       
       cambiaImagen();
       if(band)
       {
            if(Greenfoot.isKeyDown("space"))
            band = false;
       }
       else
       {
       if(barraIntersecting())
       gira();
        
       if(!topIntersecting())
       {
            mun = getWorld();
            switch(ballIntersecting())
            {
                case 0:
                    move(4);
                    break;
                case 1:
                    b = getOneIntersectingObject(ballb.class);
                    exp2 = new explosion();
                    mun.addObject(exp2,b.getX(),b.getY());
                    w = (mundo) super.getWorld();
                    w.aumentaPuntos();
                    
                    mun.removeObject(b);
                    break;
                case 2:
                    b = getOneIntersectingObject(ballr.class);
                    exp2 = new explosion();
                    mun.addObject(exp2,b.getX(),b.getY());
                    w = (mundo) super.getWorld();
                    w.aumentaPuntos();
                    
                    mun.removeObject(b);
                    break;
                case 3:
                    b = getOneIntersectingObject(ballg.class);
                    exp2 = new explosion();
                    mun.addObject(exp2,b.getX(),b.getY());
                    w = (mundo) super.getWorld();
                    w.aumentaPuntos();
                    
                    mun.removeObject(b);
                    break;
                case 4:
                    b = getOneIntersectingObject(balln.class);
                    exp2 = new explosion();
                    mun.addObject(exp2,b.getX(),b.getY());
                    w = (mundo) super.getWorld();
                    w.aumentaPuntos();
                    
                    mun.removeObject(b);
                    break;
            }
       }
       else
       {
           getWorld().removeObject(this);
       }
       }
    }    
    
    /**
     * Constructor de la clase establece la direccion del objeto viendo hacia el norte
     */
    public ballPow()
    {
        setRotation(-90);
    }
    
    /**
     * Funcion para crear la animacion del objeto
     */
    public void cambiaImagen()
    {
        if(cont>=8)
        {
            sprite++;
            if(sprite>1)
            sprite=0;
            
            switch(sprite)
            {
                case 0:
                    setImage("ballPow.png");
                    break;
                case 1:
                    setImage("ballpow2.png");
                    break;
            }
            cont=0;
        }
        cont++;         
    }
}